home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / plotting / gnuplot3.lzh / gnuplot / makefile.unx < prev    next >
Makefile  |  1991-09-24  |  25KB  |  660 lines

  1. ############################################################
  2. #
  3. # GNUPLOT 3.0 Makefile (Unix X11 Motif/Athena support) for
  4. #  Apollo/Sun/Dec5000/IBMrs6000/HP9000/SGI/3B1/386IX
  5. #
  6. # Original version by:
  7. #   oliveria@caen.engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA)
  8. #   Wed, 3 Jul 91 14:31:37 -0400
  9. #
  10. #>>> Customizing: You must customize part of this makefile for your site.
  11. #>>> Then type 'make' for further instructions.
  12. #>>> Customization instructions look like these lines do (#>>>).
  13. #
  14.  
  15. TARGET = All # What to make by default
  16.  
  17. ############################################################
  18. #>>> Decide where the binaries and manuals will go. 
  19. # directory where to install executables on 'make install'
  20. DEST=/usr/local/bin
  21. # directory for installing man page on 'make man_install'.
  22. MANDEST=/usr/man/manl
  23. # where to install help file gnuplot.gih
  24. HELPDEST=/usr/local/lib/gnuplot.gih
  25. #HELPDEST=docs/gnuplot.gih
  26. # Where to send email about bugs and comments (locally)
  27. EMAIL=bug-gnuplot%pixar.uucp@sun.com
  28.  
  29. ############################################################
  30. #>>> Choose your C compiler and basic compiler flags.
  31. CC     = cc # the C compiler
  32. COPTS  = -O # -O if you trust your compiler's optimizer
  33. LD     =$(CC) $(CFLAGS)        # default loading command
  34.  
  35. ############################################################
  36. #>>> Choose some optional features. 
  37. #>>> At this point there are only two optional features:
  38. # READLINE:
  39. #   If READLINE is defined, then command-line editing is supported.
  40. #   Otherwise, your normal terminal editing is all you get.
  41. #   Some machines will not support this, and they will turn this
  42. #   option off (for example, apollos running SR10.2 or SR10.3 and
  43. #   loaded with BSD4.3 instead of SYS5). 
  44. # NOCWDRC:
  45. #   If NOCWDRC is defined, then any .gnuplot in the current directory
  46. #   is not read on startup. This is a security consideration
  47. #   especially for root users ( we recommend you define -DNOCWDRC ).
  48. OPTIONS = -DREADLINE -DNOCWDRC
  49.  
  50. #>>> Optionally install the lasergnu script.
  51. # Lasergnu is a handy shell script for creating a plot from the
  52. # command line and sending it directly to the printer. It currently
  53. # supports postscript and imagen printers, and probably would need
  54. # tailoring to your site.
  55. # Use lasergnu_install to install lasergnu.
  56. # Use lasergnu_noinstall to not install lasergnu (default).
  57. LASERGNU = lasergnu_noinstall
  58.  
  59. ############################################################
  60. # X11 support
  61. #
  62.  
  63. #>>> List your X11 libraries#
  64. # standard MIT X11 R4:                      -lXaw -lXmu -lXt -lXext -lX11
  65. # Apollo DomainOS 10.3 (R3/Athena):         -L/usr/lib/X11 -lXaw -lXmu -lXt -lX11
  66. # Apollo DomainOS 10.3 (R3/Motif):          -L/usr/lib/X11 -lXm -lXtm -lX11
  67. # IBM RS/6000 AIX 3.1 (R3/Athena):          -L/usr/lpp/X11/Xamples/lib/Xmu \
  68. #                                           -L/usr/lpp/X11/Xamples/lib/Xaw \
  69. #                                           -lXaw -lXmu -lXt -lXext -lX11
  70. # IBM RS/6000 AIX 3.1 (R3/Motif):           -lXm -lXt -lX11
  71. # HP 9000/375 HP-UX 6.5 and 7.0 (R3/Motif): -lXm -lXt -lX11
  72. # Interactive 386/ix with T.Roell X386 and network support:
  73. #                                           -lXaw -lXm -lXt -lXext -lX11 -linet -lpt
  74. X11LIBS = -lXaw -lXmu -lXt -lXext -lX11
  75.  
  76. #>>> List your X11 include directories
  77. # standard MIT X11 R4: -I/usr/include/X11   -I/usr/include/X11/Xaw 
  78. # Apollo DomainOS 10.3 (R3/Athena):         -I/usr/include/X11
  79. # Apollo DomainOS 10.3 (R3/Motif):          -I/usr/include/Xm
  80. # IBM RS/6000 AIX 3.1 (R3/Athena):          -I/usr/include/X11 \
  81. #                                           -I/usr/lpp/X11/Xamples/lib/Xaw \
  82. #                                           -I/usr/lpp/X11/Xamples/lib/Xaw/X11
  83. # IBM RS/6000 AIX 3.1 (R3/Motif):           -I/usr/include/Xm
  84. # HP 9000/375 HP-UX 6.5 and 7.0 (R3/Motif): -I/usr/include/Xm
  85. # HP 9000/700 HP-UX 8.0 (R4):               -I/usr/include/X11R4 \
  86. #                                           -I/usr/include/X11R4/X11/Xaw
  87. X11INCLUDES = -I/usr/include/X11 -I/usr/include/X11/Xaw
  88.  
  89. #>>> You shouldn't have to change these, since they are controlled by
  90. #>>> Machine dependent definitions below.
  91. #       Compile option for plot.c and TERMFLAGS, to include X11 support
  92. PLOTXFLAG = -DX11
  93. #          this can add to CFLAGS for X11 compilations. Probably needs no change.
  94. X11FLAGS = 
  95. #       make gnuplot_x11 by default
  96. GNUPLOT_X11 = gnuplot_x11
  97. #       install gnuplot_x11 by default
  98. X11INSTALL = x11_install
  99.  
  100. ############################################################
  101. #>>> Okay, you've changed enough. Now type 'make'.
  102.  
  103. ############################################################
  104. # This is used to pass many of the above definitions to make
  105. # subprocesses. Don't change this.
  106. MY_FLAGS  = CC="$(CC)"     COPTS="$(COPTS)" DEST="$(DEST)" \
  107.         MANDEST="$(MANDEST)" HELPDEST="$(HELPDEST)" \
  108.         EMAIL="$(EMAIL)" LASERGNU="$(LASERGNU)"
  109.  
  110. ############################################################
  111. # Explanations of CFLAGS definitions.
  112. #  These should not need to be changed by you.
  113. # They are set correctly for each machine below. If your machine
  114. # doesn't fit the one of the patterns, override on the make command
  115. # line or make a new target for it and a new _FLAGS definition. 
  116. #  -DNOVFORK if you're unix and you have don't have vfork()
  117. #  -DMEMSET if you need to use memset() instead of bzero() 
  118. #  -DMEMCPY if your bcopy() is called memcpy()
  119. #  -DNOCOPY if you don't have a memcpy() by any name
  120. #  -DGAMMA=foo if your gamma function is called foo(). Apollos have
  121. #    lgamma(3m). If you don't have gamma(), use -DNOGAMMA.
  122. #    The default is -DGAMMA=gamma.
  123. #  -DGETCWD if your unix uses getcwd() instead of getcd()
  124. #    this is needed by HP-UX and Cray Unicos systems.
  125. #  -DULTRIX_KLUDGE if you run X windows on Ultrix and experience the
  126. #    "every other plot" problem.
  127. #  -Dunix is required to explicitly define "unix" for SCO and IBM
  128. #          RS/6000 running AIX 3.1 
  129. #  -fswitch if you are compiling on a Sun3 (or even -f68881)
  130. #    (but -fswitch is buggy on some systems, so watch out)
  131.  
  132. # Defaults in case the user types 'make All' directly
  133. # Should match X11R4_FLAGS's CFLAGS definition
  134. CFLAGS = $(COPTS) $(OPTIONS)
  135.  
  136. ############################################################
  137. # Terminal (device) support
  138. #
  139. # All devices available to a given machine are compiled in by default.
  140. # This documents the flags available in TERMFLAGS, although TERMFLAGS
  141. # is usually controlled by the machine-dependent definitions below.
  142. # See other terminal defines in term.h.
  143. # Define ULTRIX_KLUDGE if you have the every-other plot problem in Ultrix X11.
  144. #
  145. # -DAPOLLO      Apollo Graphics Primitive Resource (window resize after replot)
  146. # -DGPR         Apollo Graphics Primitive Resource (fixed-size window)
  147. # -DCGI         SCO CGI
  148. # -DIRIS4D      IRIS4D series computer
  149. # -DSUN         Sun Microsystems Workstation
  150. # -DUNIXPC      unixpc (ATT 3b1 or ATT 7300)
  151. # -DUNIXPLOT    unixplot
  152. # -DX11         X11 Window System (This is $(PLOTXFLAG))
  153. TERMFLAGS = -Iterm -DUNIXPLOT $(PLOTXFLAG)
  154.  
  155. ############################################################
  156. # Library explanations. 
  157. #  You shouldn't need to adjust this; again, it is handled by the
  158. # machine-dependent definitions below.
  159. #
  160. #  -lplot if you have -DUNIXPLOT in TERMFLAGS
  161. #  -lsuntool -lsunwindow -lpixrect  if you have -DSUN in TERMFLAGS
  162. #  -lgl_s if -DIRIS4D in TERMFLAGS
  163. #  -lccgi if -DCGI in TERMFLAGS
  164. LIBS = -lm -lplot
  165.  
  166. ############################################################
  167. # Machine-dependent settings.
  168. #
  169. X11R4_FLAGS = \
  170.            CFLAGS="$(COPTS) $(OPTIONS)" \
  171.            LIBS="$(LIBS)" X11FLAGS="$(X11FLAGS)" X11INCLUDES="$(X11INCLUDES)" \
  172.            X11LIBS="$(X11LIBS)" \
  173.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  174.            X11INSTALL="$(X11INSTALL)" \
  175.            TERMFLAGS="$(TERMFLAGS)"
  176.  
  177. X11R4_M_FLAGS = \
  178.            CFLAGS="$(COPTS) $(OPTIONS)" \
  179.            LIBS="$(LIBS)" X11FLAGS="-DMOTIF -D_NO_PROTO" \
  180.            X11INCLUDES="-I/usr/include/Xm" \
  181.            X11LIBS="-lXm -lXt -lX11" \
  182.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  183.            X11INSTALL="$(X11INSTALL)" \
  184.            TERMFLAGS="$(TERMFLAGS)"
  185.  
  186. DEC_FLAGS = \
  187.            CFLAGS="$(COPTS) $(OPTIONS) " \
  188.            LIBS="$(LIBS)" X11FLAGS="$(X11FLAGS)" X11INCLUDES="$(X11INCLUDES)" \
  189.            X11LIBS="$(X11LIBS)" \
  190.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  191.            X11INSTALL="$(X11INSTALL)" \
  192.            TERMFLAGS="$(TERMFLAGS) -DULTRIX_KLUDGE"
  193.  
  194. DEC_M_FLAGS = \
  195.            CFLAGS="$(COPTS) $(OPTIONS)" \
  196.            LIBS="$(LIBS)" X11FLAGS="-DMOTIF -D_NO_PROTO" \
  197.            X11INCLUDES="-I/usr/include/Xm" \
  198.            X11LIBS="-lXm -lXt -lX11" \
  199.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  200.            X11INSTALL="$(X11INSTALL)" \
  201.            TERMFLAGS="$(TERMFLAGS)  -DULTRIX_KLUDGE"
  202.  
  203. APOLLO_FLAGS = \
  204.            CFLAGS="$(COPTS) $(OPTIONS)  -DGAMMA=lgamma" \
  205.            LIBS="$(LIBS)" X11FLAGS="$(X11FLAGS)" \
  206.            X11INCLUDES="-I/usr/include/X11" \
  207.            X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lX11" \
  208.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  209.            X11INSTALL="$(X11INSTALL)" \
  210.            TERMFLAGS="$(TERMFLAGS) -DAPOLLO -DGPR"
  211.  
  212. APOLLO_M_FLAGS = \
  213.            CFLAGS="$(COPTS) $(OPTIONS)  -DGAMMA=lgamma" \
  214.            LIBS="$(LIBS)" X11FLAGS="-DMOTIF" X11INCLUDES="-I/usr/include/Xm" \
  215.            X11LIBS="-L/usr/lib/X11 -lXm -lXt -lX11" \
  216.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  217.            TERMFLAGS="$(TERMFLAGS) -DAPOLLO -DGPR"
  218.  
  219. HP_FLAGS = \
  220.            CFLAGS="$(COPTS) $(OPTIONS) -DMEMSET -DMEMCPY  -DGETCWD" \
  221.            LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
  222.            X11INCLUDES="-I/usr/include/X11R4 -I/usr/include/X11R4/X11/Xaw" \
  223.            X11LIBS="-L/usr/lib/X11R4 -lXaw -lXmu -lXt -lXext -lX11" \
  224.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  225.            X11INSTALL="$(X11INSTALL)" \
  226.            TERMFLAGS="-Iterm -DX11"
  227.  
  228. SUN_FLAGS = \
  229.            CFLAGS="$(COPTS) $(OPTIONS)" \
  230.            LIBS="-lsuntool -lsunwindow -lpixrect $(LIBS)" \
  231.            X11FLAGS=" " X11INCLUDES=" " \
  232.            X11LIBS=" " \
  233.            PLOTXFLAG=" " GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
  234.            TERMFLAGS="-Iterm -DUNIXPLOT -DSUN"
  235.  
  236. SUN_X11_FLAGS = \
  237.            CFLAGS="$(COPTS) $(OPTIONS)" \
  238.            LIBS="-lsuntool -lsunwindow -lpixrect $(LIBS)" \
  239.            X11FLAGS="$(X11FLAGS)" X11INCLUDES="$(X11INCLUDES)" \
  240.            X11LIBS="$(X11LIBS)" \
  241.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  242.            X11INSTALL="$(X11INSTALL)" \
  243.            TERMFLAGS="$(TERMFLAGS) -DSUN"
  244.  
  245. SGI_FLAGS = \
  246.            CFLAGS="$(COPTS) $(OPTIONS)" \
  247.            LIBS="-lgl_s -lm" X11FLAGS=" " X11INCLUDES=" " \
  248.            X11LIBS=" " \
  249.            PLOTXFLAG=" " GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
  250.            TERMFLAGS="-Iterm -DIRIS4D"
  251.  
  252. SGIX11_FLAGS = \
  253.            CFLAGS="$(COPTS) $(OPTIONS)" \
  254.            LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
  255.            X11INCLUDES="-I/usr/include/X11 -I/usr/include/X11/Xaw" \
  256.            X11LIBS="-L/usr/lib/X11 -lXaw -lXmu -lXt -lXext -lX11" \
  257.             PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  258.             X11INSTALL="$(X11INSTALL)" \
  259.            TERMFLAGS="-Iterm -DX11"
  260.  
  261. CGI_FLAGS = \
  262.            CFLAGS="$(COPTS) $(OPTIONS) -Dunix" \
  263.            LIBS="-lccgi $(LIBS)" X11FLAGS=" " X11INCLUDES=" " \
  264.            X11LIBS=" " PLOTXFLAG=" " GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
  265.            TERMFLAGS="-Iterm -DUNIXPLOT -DCGI"
  266.  
  267. 3B1_FLAGS = \
  268.            CFLAGS="$(COPTS) $(OPTIONS) -DGETCWD -DMEMSET -DMEMCPY -DNOVFORK" \
  269.            LIBS="$(LIBS)" X11FLAGS=" " X11INCLUDES=" " \
  270.            X11LIBS=" " \
  271.            PLOTXFLAG=" " GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
  272.            LD="ld /lib/crt0s.o /lib/shlib.ifile" \
  273.            TERMFLAGS="-Iterm -DUNIXPC"
  274.  
  275. 386IX_FLAGS = \
  276.            CFLAGS="$(COPTS) $(OPTIONS) -DGETCWD -DMEMSET -DMEMCPY -DNOVFORK -DTCSETSW -DTCGETS" \
  277.            LIBS="$(LIBS) -lcposix" X11FLAGS=" " X11INCLUDES=" " \
  278.            X11LIBS=" " PLOTXFLAG=" " GNUPLOT_X11=" " \
  279.            X11INSTALL=x11_noinstall \
  280.            TERMFLAGS="-Iterm -DUNIXPLOT"
  281. 386IX_X11_FLAGS = \
  282.            CFLAGS="$(COPTS) $(OPTIONS) -DGETCWD -DMEMSET -DMEMCPY -DNOVFORK -DTCSETSW -DTCGETS" \
  283.            LIBS="$(LIBS) -lcposix" X11FLAGS="$(X11FLAGS)" X11INCLUDES="$(X11INCLUDES)" \
  284.            X11LIBS="$(X11LIBS)" PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11="$(GNUPLOT_X11)" \
  285.            X11INSTALL= "$(X11INSTALL)" \
  286.            TERMFLAGS="-Iterm -DUNIXPLOT -DX11"
  287.      
  288. AIX_FLAGS = \
  289.            CFLAGS="$(COPTS) $(OPTIONS) -Dunix -DNOVFORK" \
  290.            LIBS="$(LIBS)" X11FLAGS="$(X11FLAGS)" \
  291.            X11INCLUDES="-I/usr/include/X11 -I/usr/lpp/X11/Xamples/lib/Xaw -I/usr/lpp/X11/Xamples/lib/Xaw/X11" \
  292.            X11LIBS="-L/usr/lpp/X11/Xamples/lib/Xmu -L/usr/lpp/X11/Xamples/lib/Xaw -lXaw -lXmu -lXt -lXext -lX11" \
  293.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  294.            X11INSTALL="$(X11INSTALL)" \
  295.            TERMFLAGS="$(TERMFLAGS)"
  296.  
  297. AIX_M_FLAGS = \
  298.            CFLAGS="$(COPTS) $(OPTIONS) -Dunix -DNOVFORK" \
  299.            LIBS="$(LIBS)" X11FLAGS="-DMOTIF" X11INCLUDES="-I/usr/include/Xm" \
  300.            X11LIBS="-lXm -lXt -lX11" \
  301.            PLOTXFLAG="$(PLOTXFLAG)" GNUPLOT_X11=$(GNUPLOT_X11) \
  302.            X11INSTALL="$(X11INSTALL)" \
  303.            TERMFLAGS="$(TERMFLAGS)"
  304.  
  305. NEXT_FLAGS = \
  306.            CFLAGS="$(COPTS) -DNOCWDRC -DGAMMA=lgamma -DNEXT" \
  307.            LIBS="-lm" X11FLAGS="$(X11FLAGS)" \
  308.            X11INCLUDES=" " X11LIBS=" " PLOTXFLAG=" " \
  309.            GNUPLOT_X11=" " X11INSTALL=x11_noinstall \
  310.            TERMFLAGS="-Iterm"
  311.  
  312. ####################################################################
  313. # List of object files except version.o
  314. OBJS = bitmap.o command.o contour.o eval.o graphics.o graph3d.o help.o \
  315.        internal.o misc.o parse.o plot.o readline.o scanner.o \
  316.        setshow.o standard.o term.o util.o  
  317. ####################################################################
  318. # List of source files
  319. # Used for makeing shar files, lint, and some dependencies.
  320. DIRS = term demo docs docs/latextut
  321.  
  322. CSOURCE1 = command.c setshow.c 
  323. CSOURCE2 = help.c graphics.c graph3d.c internal.c 
  324. CSOURCE3 = misc.c eval.c parse.c plot.c readline.c scanner.c standard.c 
  325. CSOURCE4 = bitmap.c term.c util.c version.c
  326. CSOURCE5 = term/amiga.trm term/aed.trm term/cgi.trm term/dumb.trm term/dxf.trm \
  327.     term/dxy.trm term/eepic.trm term/epson.trm term/fig.trm \
  328.     term/hp26.trm term/hp2648.trm term/hpgl.trm term/hpljii.trm \
  329.     term/apollo.trm term/gpr.trm
  330. CSOURCE6 = term/impcodes.h term/imagen.trm term/object.h \
  331.     term/iris4d.trm term/kyo.trm term/latex.trm term/pc.trm 
  332. CSOURCE7 = term/post.trm term/qms.trm term/regis.trm term/sun.trm \
  333.     term/t410x.trm term/tek.trm term/unixpc.trm term/unixplot.trm \
  334.     term/v384.trm term/x11.trm term/bigfig.trm term/vws.trm gnuplot_x11.c
  335. CSOURCE8 = contour.c
  336. # not C code, but still needed
  337.  
  338. DEMOS = demo/1.dat demo/2.dat demo/3.dat demo/contours.demo demo/controls.demo \
  339.     demo/electron.demo demo/glass.dat demo/param.demo demo/polar.demo \
  340.     demo/simple.demo demo/surface1.demo demo/surface2.demo demo/using.dat \
  341.     demo/using.demo demo/world.cor demo/world.dat demo/world.demo \
  342.     demo/err.dat demo/poldat.demo demo/polar.dat demo/errorbar.demo \
  343.     demo/antenna.dat demo/all.demo demo/bivariat.demo
  344.  
  345. ETC = Copyright README README.gnutex README.amiga makefile.unx makefile.vms  \
  346.     linkopt.amg makefile.amg makefile.ami linkopt.vms buildvms.com \
  347.     plot.h help.h setshow.h bitmap.h term.h lasergnu \
  348.     term/README History gnuplot.el Intergraph.x11 README.Install
  349.  
  350. #BETA files (not standard distribution files)
  351. BETA = BETA10
  352. # PC-specific files
  353. PC = corgraph.asm corplot.c header.mac hrcgraph.asm lineproc.mac \
  354.     linkopt.msc linkopt.tc linkopt.tco makefile.msc makefile.tc \
  355.     pcgraph.asm 
  356.  
  357. # Documentation and help files
  358. DOCS1 = docs/Makefile docs/README docs/checkdoc.c docs/doc2gih.c \
  359.     docs/doc2hlp.c docs/doc2hlp.com docs/doc2ms.c docs/doc2tex.c \
  360.     docs/gnuplot.1 docs/lasergnu.1 docs/toc_entry.sty \
  361.     docs/titlepage.ms docs/titlepage.tex docs/Makefile.ami
  362. DOCS2 = docs/gnuplot.doc
  363. DOCS3 = docs/latextut/Makefile docs/latextut/eg1.plt \
  364.     docs/latextut/eg2.plt docs/latextut/eg3.dat docs/latextut/eg3.plt \
  365.     docs/latextut/eg4.plt docs/latextut/eg5.plt docs/latextut/eg6.plt \
  366.     docs/latextut/header.tex docs/latextut/tutorial.tex \
  367.     docs/latextut/linepoint.plt
  368.  
  369. #########################################################################
  370. # Default target (informational)
  371. info:
  372.     @echo "Please do a 'make <MACHINE>' where <MACHINE> is one of the following:"
  373.     @echo 
  374.     @echo "apollo, apollo_motif       for Apollo running SR10.3 with Apollo's X11R3"
  375.     @echo "dec, dec_motif             for Dec3100/5000 running Ultrix 3.1d with MIT's X11R4"
  376.     @echo "hp                         for HP/9000 700 series running HP/UX 8.0 with MIT's X11R4"
  377.     @echo "sun                        for Sun sparcstation running SunOS 4.1 with suntools (no X11R4) "
  378.     @echo "sun_x11                    for Sun sparcstation running SunOS 4.1 with suntools and X11R4 "
  379.     @echo "sgi                        for Silicon Graphics IRIS4D machines (no X11R4) "
  380.     @echo "sgix11                     for Silicon Graphics IRIS4D machines (X11R4) "
  381.     @echo "next                       for NeXT Cube and Slab running NeXTOS 2.0+ (no X11R4) "
  382.     @echo "3b1                        for ATT 3b1 machines (no X11R4) "
  383.     @echo "386ix                      for 386 machines running 386/ix (no X11)"
  384.     @echo "386ix_x11                  for 386 machines running 386/ix with T.Roell X386"
  385.     @echo "ibmrs6000, ibmrs6000_motif for IBM RS/6000 running Aix 3.1 with IBM's X11R3"
  386.     @echo "x11r4, x11r4_motif         for a generic machine (like a sun or dec) with MIT's X11R4"
  387.     @echo 
  388.     @echo "Examples:"
  389.     @echo
  390.     @echo "         make x11r4"
  391.     @echo "         make x11r4_motif"
  392.     @echo "         make apollo"
  393.     @echo "         make apollo       OPTIONS='-DNOCWDRC' "
  394.     @echo "         make apollo_motif DEST='/usr/um/misc/bin' "
  395.     @echo "         make dec"
  396.     @echo "         make hp"
  397.     @echo "         make next"
  398.     @echo "         make sun          HELPDEST='/usr/um/misc/lib/gnuplot.gih' "
  399.     @echo "         make sun          X11INCLUDES='-I/usr/local/include -I/usr/local/include/X11 -I/usr/local/include/X11/Xaw' "
  400.     @echo "         make sun_x11"
  401.     @echo "         make sgi"
  402.     @echo "         make 3b1"
  403.     @echo "         make 386ix"
  404.     @echo "         make ibmrs6000    MANDEST='/usr/usr/misc/man/man1' COPTS='-O' "
  405.     @echo 
  406.     @echo "If you just type 'make All' , it will build gnuplot for Unix X11R4/Athena"
  407.     @echo "and the following variables will be used as default:"
  408.     @echo 
  409.     @echo " DEST                     " $(DEST)
  410.     @echo " MANDEST                  " $(MANDEST)
  411.     @echo " HELPDEST                 " $(HELPDEST)
  412.     @echo " EMAIL                    " $(EMAIL)
  413.     @echo " CC                       " $(CC)
  414.     @echo " COPTS                    " $(COPTS)
  415.     @echo " OPTIONS                  " $(OPTIONS)
  416.     @echo " CFLAGS                   " $(CFLAGS)
  417.     @echo " LIBS                     " $(LIBS)
  418.     @echo " X11FLAGS                 " $(X11FLAGS)
  419.     @echo " X11LIBS                  " $(X11LIBS)
  420.     @echo " X11INCLUDES              " $(X11INCLUDES)
  421.     @echo " TERMFLAGS                " $(TERMFLAGS)
  422.     @echo " LASERGNU                 " $(LASERGNU)
  423.     @echo 
  424.     @echo "If you are not familiar with makefiles or just want to know what"
  425.     @echo " 'make <MACHINE>' would  do without actually doing anything, then type"
  426.     @echo " 'make <MACHINE> -n' "
  427.     @echo 
  428.  
  429. ###############################################################
  430. # Targets for each machine
  431.  
  432. x11r4:
  433.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(X11R4_FLAGS)    $(TARGET)
  434.  
  435. x11r4_motif:
  436.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(X11R4_M_FLAGS)  $(TARGET)
  437.  
  438. dec:
  439.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(DEC_FLAGS)      $(TARGET)
  440.  
  441. dec_motif:
  442.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(DEC_M_FLAGS)    $(TARGET)
  443.  
  444. apollo:
  445.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(APOLLO_FLAGS)   $(TARGET)
  446.  
  447. apollo_motif:
  448.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(APOLLO_M_FLAGS) $(TARGET)
  449.  
  450. hp:
  451.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(HP_FLAGS)       $(TARGET)
  452.  
  453. next:
  454.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(NEXT_FLAGS)     $(TARGET)
  455.  
  456. sun:
  457.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(SUN_FLAGS)      $(TARGET)
  458.  
  459. sun_x11:
  460.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(SUN_X11_FLAGS)  $(TARGET)
  461.  
  462. sgi:
  463.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(SGI_FLAGS)      $(TARGET)
  464.  
  465. sgix11:
  466.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(SGIX11_FLAGS)   $(TARGET)
  467.  
  468. cgi:
  469.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(CGI_FLAGS)      $(TARGET)
  470.  
  471. 3b1:
  472.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(3B1_FLAGS)      $(TARGET)
  473.  
  474. 386ix:
  475.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(386IX_FLAGS)    $(TARGET)
  476.  
  477. 386ix_x11: 
  478.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(386IX_X11_FLAGS) $(TARGET)
  479.  
  480. ibmrs6000:
  481.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(AIX_FLAGS)      $(TARGET)
  482.  
  483. ibmrs6000_motif:
  484.     $(MAKE) $(MFLAGS) $(MY_FLAGS) $(AIX_M_FLAGS)    $(TARGET)
  485.  
  486. #############################################################
  487. # Targets that really do something
  488.  
  489. all:
  490.     @echo "Please just type  'make'  in order to get some information on "
  491.     @echo "how to build gnuplot under Unix and the X Window System."
  492.  
  493. All:    gnuplot $(GNUPLOT_X11) doc
  494.  
  495. gnuplot: $(OBJS) version.o
  496.     $(LD) $(OBJS) version.o $(LIBS) -o gnuplot
  497.  
  498. doc:
  499.     ( cd docs; make $(MFLAGS) gnuplot.gih )
  500.  
  501. gnuplot_x11: gnuplot_x11.c
  502.     $(CC) $(CFLAGS) $(X11FLAGS) $(X11INCLUDES) -o gnuplot_x11 gnuplot_x11.c $(X11LIBS)
  503.  
  504. ################################################################
  505. # Installation instructions
  506.  
  507. install:
  508.     @echo 
  509.     @echo "Please do a 'make <MACHINE> TARGET=Install' where <MACHINE> is one of the following:"
  510.     @echo 
  511.     @echo "apollo, apollo_motif, dec, dec_motif, hp, sun, sun_x11, sgi, sgix11"
  512.     @echo "next, 3b1, 386ix, ibmrs6000, ibmrs6000_motif, x11r4, x11r4_motif"
  513.     @echo 
  514.     @echo "Examples:"
  515.     @echo
  516.     @echo "         make x11r4        TARGET=Install "
  517.     @echo "         make apollo       TARGET=Install "
  518.     @echo "         make apollo_motif TARGET=Install DEST='/usr/um/misc/bin' "
  519.     @echo "         make dec          TARGET=Install "
  520.     @echo "         make hp           TARGET=Install "
  521.     @echo "         make sun          TARGET=Install HELPDEST='/usr/um/misc/lib/gnuplot.gih' "
  522.     @echo "         make ibmrs6000    TARGET=Install MANDEST='/usr/um/misc/man/man1' COPTS='-O' "
  523.     @echo 
  524. ################################################################
  525. # Installation targets
  526.  
  527. Install: All man_install $(X11INSTALL) $(LASERGNU)
  528.     cp gnuplot     $(DEST)
  529.     strip $(DEST)/gnuplot
  530.     (cd docs; make $(MFLAGS) install-unix HELPDEST=$(HELPDEST))
  531.  
  532. x11_install: gnuplot_x11
  533.     cp gnuplot_x11 $(DEST)
  534.     strip $(DEST)/gnuplot_x11
  535.  
  536. x11_noinstall: 
  537.     @echo "X11 not requested, so gnuplot_x11 program not installed"
  538.  
  539. man_install: docs/gnuplot.1
  540.     cp docs/gnuplot.1 $(MANDEST)
  541.  
  542. lasergnu_install: lasergnu docs/lasergnu.1
  543.     cp lasergnu $(DEST)
  544.     chmod 755 $(DEST)/lasergnu
  545.     cp docs/lasergnu.1 $(MANDEST)
  546.  
  547. lasergnu_noinstall:
  548.     @echo 
  549.     @echo "Lasergnu will not be installed by default."
  550.     @echo "If you think you need the lasergnu script to print"
  551.     @echo " files on the imagen or postscript printers, then"
  552.     @echo " type"
  553.     @echo "      'make <MACHINE> TARGET=Install LASERGNU='lasergnu_install' "
  554.     @echo
  555.     @echo "Lasergnu is really not needed since within gnuplot you can"
  556.     @echo " can create files (in impress or postscript language) and"
  557.     @echo " print them through your favorite print command (lpr, lp, prf, ipr)."
  558.     @echo 
  559.  
  560. ################################################################
  561. # Dependencies
  562.  
  563. plot.o: plot.c
  564.     $(CC) $(CFLAGS) $(PLOTXFLAG) -c plot.c
  565.  
  566. term.o: term.h term.c $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  567.     $(CC) $(CFLAGS) $(TERMFLAGS) -c term.c
  568.  
  569. version.o:
  570.     $(CC) $(CFLAGS) -DCONTACT=\"$(EMAIL)\" -c version.c
  571.  
  572. $(OBJS): plot.h
  573.  
  574. command.o:
  575.     $(CC) $(CFLAGS) -c command.c -DHELPFILE=\"$(HELPDEST)\"
  576.  
  577. command.o help.o misc.o: help.h
  578.  
  579. command.o graphics.o graph3d.o misc.o plot.o setshow.o term.o: setshow.h
  580.  
  581. bitmap.o term.o: bitmap.h
  582.  
  583. ################################################################
  584. # Miscellaneous targets
  585.  
  586. SOURCES=plot.h help.h setshow.h bitmap.h term.h $(CSOURCE1) $(CSOURCE2) \
  587.     $(CSOURCE3) $(CSOURCE4) $(CSOURCE5) $(CSOURCE6) $(CSOURCE7) $(CSOURCE8)
  588.  
  589. lint:
  590.     lint -hx $(SOURCES)
  591.  
  592. clean:
  593.     rm -f *.o *~ *.bak term/*~ term/*.bak
  594.     (cd docs; make $(MFLAGS) clean)
  595.     (cd docs/latextut; make $(MFLAGS) clean)
  596.  
  597. spotless:
  598.     rm -f *.o *~ *.bak term/*~ term/*.bak TAGS gnuplot gnuplot_x11
  599.     (cd docs; make $(MFLAGS) clean)
  600.     (cd docs/latextut; make $(MFLAGS) spotless)
  601.  
  602. ################################################################
  603. # Making shar files for mailing gnuplot
  604.  
  605. shar: gnuplot.sh00 gnuplot.sh01 gnuplot.sh02 gnuplot.sh03 gnuplot.sh04 \
  606.     gnuplot.sh05 gnuplot.sh06 gnuplot.sh07 gnuplot.sh08 \
  607.     gnuplot.sh09 gnuplot.sh10 gnuplot.sh11 gnuplot.sh12 \
  608.     gnuplot.sh13 gnuplot.sh14 gnuplot.sh15 
  609.  
  610. gnuplot.sh00:
  611.     echo '#!/bin/sh' > gnuplot.sh00
  612.     echo '# This is a shell file to make directories' >> gnuplot.sh00
  613.     echo mkdir $(DIRS) >> gnuplot.sh00
  614.  
  615. gnuplot.sh01: $(ETC)
  616.     shar $(ETC) > gnuplot.sh01
  617.  
  618. gnuplot.sh02: $(DOCS1)
  619.     shar $(DOCS1) > gnuplot.sh02
  620.  
  621. gnuplot.sh03: $(DOCS2)
  622.     shar $(DOCS2) > gnuplot.sh03
  623.  
  624. gnuplot.sh04: $(DOCS3)
  625.     shar $(DOCS3) > gnuplot.sh04
  626.  
  627. gnuplot.sh05: $(CSOURCE1)
  628.     shar $(CSOURCE1) > gnuplot.sh05
  629.  
  630. gnuplot.sh06: $(CSOURCE2)
  631.     shar $(CSOURCE2) > gnuplot.sh06
  632.  
  633. gnuplot.sh07: $(CSOURCE3)
  634.     shar $(CSOURCE3) > gnuplot.sh07
  635.  
  636. gnuplot.sh08: $(CSOURCE4)
  637.     shar $(CSOURCE4) > gnuplot.sh08
  638.  
  639. gnuplot.sh09: $(CSOURCE5)
  640.     shar $(CSOURCE5) > gnuplot.sh09
  641.  
  642. gnuplot.sh10: $(CSOURCE6)
  643.     shar $(CSOURCE6) > gnuplot.sh10
  644.  
  645. gnuplot.sh11: $(CSOURCE7)
  646.     shar $(CSOURCE7) > gnuplot.sh11
  647.  
  648. gnuplot.sh12: $(PC)
  649.     shar $(PC) > gnuplot.sh12
  650.  
  651. gnuplot.sh13: $(CSOURCE8)
  652.     shar $(CSOURCE8) > gnuplot.sh13
  653.  
  654. gnuplot.sh14: $(DEMOS)
  655.     shar $(DEMOS) > gnuplot.sh14
  656.  
  657. gnuplot.sh15: $(BETA)
  658.     shar $(BETA) > gnuplot.sh15
  659.  
  660.